/**
 * clase Mapeador
 */
package mapa;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import figuras.Figura;

import musica.*;

/**
 * Clase Mapeador: agrega en una lista todas las figuras de una poartitura
 * @author Mauro
 */
public class Mapeador {
	
	List<Figura> figuras;
	Cancion miCancion;
	
	public Mapeador(Cancion unaCacion){
		this.miCancion = unaCacion;
		this.figuras = new ArrayList<Figura>();
	}

	public List<Figura> mapearCancion(){
		return mapearPartitura(miCancion.cantarCancion());
	}
	
	public List<Figura> mapearPartitura(Partitura laPartitura){
		Iterator<Compas> itCompaces = laPartitura.compacesIterator();
		Compas miCompas;
		while(itCompaces.hasNext()){
			miCompas = itCompaces.next();
			Iterator<Figura> itFiguras = miCompas.figurasIterator();
			while(itFiguras.hasNext()){
				this.figuras.add(itFiguras.next());
			}
		}
		return this.figuras;
	}
}
